package cn.expopay.mail.util;

import cn.expopay.mail.model.Mail;
import org.apache.commons.mail.HtmlEmail;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Properties;

/**
 * 邮件发送工具类
 * Created by JJ on 2016/8/12.
 */
public class MailUtil {

    private Logger logger = LoggerFactory.getLogger(this.getClass());

    public void send(Mail mail){
        HtmlEmail email = new HtmlEmail();
        try {
            // 这里是SMTP发送服务器的名字：163的如下："smtp.163.com"
            email.setHostName(mail.getHost());
            email.setCharset(Mail.MAIL_ENCODING);
            // 收件人的邮箱
            email.addTo(mail.getReceivers());
            // 发件人的邮箱
            email.setFrom(mail.getSender(),mail.getName());
            // 如果需要认证信息的话，设置认证：用户名-密码。分别为发件人在邮件服务器上的注册名称和密码
            email.setAuthentication(mail.getUsername(), mail.getPassword());
            // 要发送的邮件主题
            email.setSubject(mail.getSubject());
            // 要发送的信息，由于使用了HtmlEmail，可以在邮件内容中使用HTML标签
            email.setMsg(mail.getMessage());
            // 发送
            email.send();
        }catch (Exception e){
            logger.error(e.getMessage());
        }
    }
}
